using PandaWebAPI.Models.ef;

namespace PandaWebAPI.Services;

/// <summary>
/// 帖子标签服务接口
/// </summary>
public interface IPostTagService
{
    /// <summary>
    /// 获取所有帖子标签
    /// </summary>
    Task<IEnumerable<PostTag>> GetAllAsync();

    /// <summary>
    /// 根据ID获取帖子标签
    /// </summary>
    Task<PostTag?> GetByIdAsync(Guid id);

    /// <summary>
    /// 根据帖子ID获取标签
    /// </summary>
    Task<IEnumerable<PostTag>> GetByPostIdAsync(Guid postId);

    /// <summary>
    /// 根据标签ID获取帖子
    /// </summary>
    Task<IEnumerable<PostTag>> GetByTagIdAsync(Guid tagId);

    /// <summary>
    /// 创建帖子标签
    /// </summary>
    Task<PostTag> CreateAsync(PostTag postTag);

    /// <summary>
    /// 更新帖子标签
    /// </summary>
    Task<PostTag> UpdateAsync(PostTag postTag);

    /// <summary>
    /// 删除帖子标签
    /// </summary>
    Task DeleteAsync(Guid id);
} 